# 使用官方的 Maven 镜像作为构建环境
FROM maven:3.9.9-eclipse-temurin-17 AS builder

# 设置工作目录
WORKDIR /app

# 复制项目的 pom.xml 文件
COPY pom.xml .

# 复制模块的 pom.xml 文件（如果有多个模块）
COPY services/service-order/pom.xml services/service-order/pom.xml
COPY model/pom.xml model/pom.xml

# 下载依赖（缓存依赖以加快后续构建）
RUN mvn dependency:go-offline -B

# 复制整个项目
COPY . .

# 构建项目
RUN mvn clean package -DskipTests -pl services/service-order -am

# 使用轻量级的 OpenJDK 镜像作为运行环境
FROM openjdk:17-jdk-slim

# 设置工作目录
WORKDIR /app

# 从构建环境中复制打包好的 JAR 文件
COPY --from=builder /app/services/service-order/target/service-order-*.jar app.jar

# 暴露应用端口（根据你的 application.yml 配置）
EXPOSE 8000

# 启动应用
CMD ["java", "-jar", "app.jar"]